home *** CD-ROM | disk | FTP | other *** search
- var oList=new Array();
- oList.borderSize=1;
-
- function createList(x,y,w,h)
- {
- var num=oList.length;
- num++;
-
- var str="";
- str+='<div id="divLWin'+num+'" class="clLWin" onMousemove="oList['+num+'].lmove();" onMousedown="oList['+num+'].ldown();return false;" onMouseup="oList['+num+'].lup();">'
- +'<div id="divResizeLine'+num+'" class="clListLine" onMouseup="oList['+num+'].lup();return false;"></div>'
- +'<div id="divList'+num+'" class="clList">'
- +'<div id="divListText'+num+'" class="clListText"></div>'
- +'</div>'
- +'<div id="divListUp'+num+'" class="clListUp">'
- +'<a href="#" onclick="return false" onmousedown="oList['+num+'].move(0,13);" onmouseup="oList['+num+'].move(0,0);" onmouseout="oList['+num+'].move(0,0);"><img src="images/arrow_up.gif" width="15" height="15" alt="" border="0"></a>'
- +'</div>'
- +'<div id="divListDown'+num+'" class="clListDown">'
- +'<a href="#" onclick="return false" onmousedown="oList['+num+'].move(0,-13);" onmouseup="oList['+num+'].move(0,0);" onmouseout="oList['+num+'].move(0,0);"><img src="images/arrow_down.gif" width="15" height="15" alt="" border="0"></a>'
- +'</div>'
- +'<div id="divListSliderY'+num+'" class="clListSlider" onMousemove="oList['+num+'].processSlider();" onmousedown="oList['+num+'].startSlider(false,true);" onmouseup="oList['+num+'].endSlider();" onmouseout="oList['+num+'].endSlider();"></div>'
- +'<div id="divListSliderYtop'+num+'" class="clListSlider2" onmousedown="oList['+num+'].move(0,50);" onmouseup="oList['+num+'].move(0,0);" onmouseout="oList['+num+'].move(0,0);"></div>'
- +'<div id="divListSliderYbut'+num+'" class="clListSlider2" onmousedown="oList['+num+'].move(0,-50);" onmouseup="oList['+num+'].move(0,0);" onmouseout="oList['+num+'].move(0,0);"></div>'
- +'<div id="divListLeft'+num+'" class="clListLeft">'
- +'<a href="#" onclick="return false" onmousedown="oList['+num+'].move(5,0);" onmouseup="oList['+num+'].move(0,0);" onmouseout="oList['+num+'].move(0,0);"><img src="images/arrow_left.gif" width="15" height="15" alt="" border="0"></a>'
- +'</div>'
- +'<div id="divListRight'+num+'" class="clListRight">'
- +'<a href="#" onclick="return false" onmousedown="oList['+num+'].move(-5,0);" onmouseup="oList['+num+'].move(0,0);" onmouseout="oList['+num+'].move(0,0);"><img src="images/arrow_right.gif" width="15" height="15" alt="" border="0"></a>'
- +'</div>'
- +'<div id="divListSliderX'+num+'" class="clListSlider" onMousemove="oList['+num+'].processSlider();" onmousedown="oList['+num+'].startSlider(true,false);" onmouseup="oList['+num+'].endSlider();" onmouseout="oList['+num+'].endSlider();"></div>'
- +'<div id="divListSliderXleft'+num+'" class="clListSlider2" onmousedown="oList['+num+'].move(50,0);" onmouseup="oList['+num+'].move(0,0);" onmouseout="oList['+num+'].move(0,0);"></div>'
- +'<div id="divListSliderXright'+num+'" class="clListSlider2" onmousedown="oList['+num+'].move(-50,0);" onmouseup="oList['+num+'].move(0,0);" onmouseout="oList['+num+'].move(0,0);"></div>'
- +'</div>';
- document.write(str);
- var bs=oList.borderSize;
- oList[num]=new lib_obj('divLWin'+num,"","","",num);
- oList[num].width=w;
- oList[num].height=h;
- oList[num].moveIt(x,y);
- oList[num].clipTo(0,w,h,0);
- oList[num].oList=new lib_obj('divList'+num,'divLWin'+num);
- oList[num].oList.moveIt(0,0);
- oList[num].oList.clipTo(0,w-15-bs,h-15-bs,0,1);
- oList[num].oListText=new lib_obj('divListText'+num,'divList'+num,'divLWin'+num);
- oList[num].oListText.moveIt(bs,bs);
- oList[num].oListText.clipTo(0,1000,h-3*bs-15,0,1);
- oList[num].oResizeLine=new lib_obj('divResizeLine'+num,'divLWin'+num);
- oList[num].oResizeLine.moveIt(0,16);
- oList[num].oResizeLine.clipTo(0,1,h-3*bs-15,0,1);
- oList[num].oUp=new lib_obj('divListUp'+num,'divLWin'+num);
- oList[num].oDown=new lib_obj('divListDown'+num,'divLWin'+num);
- oList[num].oLeft=new lib_obj('divListLeft'+num,'divLWin'+num);
- oList[num].oRight=new lib_obj('divListRight'+num,'divLWin'+num);
- oList[num].oUp.moveIt(w-bs-15,1);
- oList[num].oDown.moveIt(w-bs-15,h-bs-30);
- oList[num].oLeft.moveIt(1,h-bs-15);
- oList[num].oRight.moveIt(w-bs-30,h-bs-15);
- oList[num].oSliderY=new lib_obj('divListSliderY'+num,'divLWin'+num);
- oList[num].oSliderYtop=new lib_obj('divListSliderYtop'+num,'divLWin'+num);
- oList[num].oSliderYbut=new lib_obj('divListSliderYbut'+num,'divLWin'+num);
- oList[num].oSliderX=new lib_obj('divListSliderX'+num,'divLWin'+num);
- oList[num].oSliderXleft=new lib_obj('divListSliderXleft'+num,'divLWin'+num);
- oList[num].oSliderXright=new lib_obj('divListSliderXright'+num,'divLWin'+num);
- oList[num].xPos = x;
- oList[num].yPos = y;
- oList[num].no = num;
- oList[num].sctim = 0;
- oList[num].move=listtextmove;
- oList[num].lastyMove=0;
-
- oList[num].setContent=setContent;
-
- oList[num].headline=new Array();
- oList[num].elements=new Array();
- oList[num].sizes=new Array();
- oList[num].types=new Array();
- oList[num].visible=new Array();
-
- oList[num].lmove=lmove;
- oList[num].ldown=ldown;
- oList[num].lup=lup;
- oList[num].mousex=0;
- oList[num].mousey=0;
-
- oList[num].setSlider=setSlider;
- oList[num].processSlider=processSlider;
- oList[num].startSlider=startSlider;
- oList[num].endSlider=endSlider;
- oList[num].slidertimeout=false;
-
- oList[num].cleanUpElements=cleanUpElements;
- oList[num].setHeadline=setHeadline;
- oList[num].setSizes=setSizes;
- oList[num].setTypes=setTypes;
- oList[num].setVisible=setVisible;
- oList[num].addElement=addElement;
- oList[num].getElement=getElement;
- oList[num].alterElement=alterElement;
- oList[num].delElement=delElement;
- oList[num].showList=showList;
- oList[num].resize=resizeList;
- oList[num].setRowResizeFunction=setRowResizeFunction;
- oList[num].ResizeFunction="";
- oList[num].setRclickFunction=setRclickFunction;
- oList[num].RclickFunction="";
- oList[num].setDblclickFunction=setDblclickFunction;
- oList[num].DblclickFunction="";
- oList[num].setHeadlineFunction=setHeadlineFunction;
- oList[num].HeadlineFunction="";
-
- oList[num].sort=sort;
- oList[num].sortrow=0;
- oList[num].sortdir="asc";
- oList[num].dontsort=false;
-
- oList[num].select=select;
- oList[num].lastSelect=-1;
- oList[num].selectedId=-1;
- oList[num].lastColor="";
-
- oList[num].startX=0;
- oList[num].startY=0;
- oList[num].resizeRow=-1;
- oList[num].currentRow=-1;
-
- oList[num].showIt();
- return oList[num];
- }
-
- function cleanUpElements()
- {
- this.elements=new Array();
- }
- function setHeadline(heads)
- {
- this.headline=heads;
- }
-
- function setSizes(sizes)
- {
- this.sizes=sizes;
- }
-
- function setTypes(types)
- {
- this.types=types;
- }
-
- function setVisible(vis)
- {
- this.visible=vis;
- }
-
- function setRowResizeFunction(fktname)
- {
- this.ResizeFunction=fktname;
- }
-
- function setDblclickFunction(fktname)
- {
- this.DblclickFunction=fktname;
- }
-
- function setRclickFunction(fktname)
- {
- this.RclickFunction=fktname;
- }
-
- function setHeadlineFunction(fktname)
- {
- this.HeadlineFunction=fktname;
- }
-
- function sort(no,dir)
- {
- function alp(a,b)
- {
- var r;
- if(dir=="asc")
- r=(a[no].toLowerCase()>b[no].toLowerCase());
- else
- r=(b[no].toLowerCase()>a[no].toLowerCase());
- if(r==false)
- r=-1;
- else
- r=1;
- return r;
- }
-
- function num(a,b)
- {
- var ia=a[no].replace(/[,]/,".");
- var ib=b[no].replace(/[,]/,".");
- ia=ia.replace(/[a-zA-Z /]/,"");
- ib=ib.replace(/[a-zA-Z /]/,"");
- if(ia=="") ia=0;
- if(ib=="") ib=0;
- ia=parseFloat(ia);ib=parseFloat(ib);
- if(dir=="asc")
- return (ia-ib);
- else
- return (ib-ia);
- }
- if(this.dontsort!=true)
- {
- this.sortrow=no;
- this.sortdir=dir;
- if(this.types[no]==0)
- this.elements.sort(alp);
- else
- this.elements.sort(num);
- this.showList();
- }
- this.dontsort=false;
- }
-
- function addElement(element)
- {
- this.elements.push(element);
- }
-
- function delElement(elementid)
- {
- var newarr=new Array();
- if(elementid!=-1)
- {
- var element;
- for(index=0;index<this.elements.length;index++)
- {
- element=this.elements[index];
- if(element[element.length-1]!=elementid)
- newarr.push(element);
- }
- }
- this.elements=newarr;
- }
-
- function getElement(elementid)
- {
- for(index=0;index<this.elements.length;index++)
- {
- element=this.elements[index];
- if(element[element.length-1]==elementid)
- return element;
- }
- }
-
- function alterElement(elementid, newelement)
- {
- for(index=0;index<this.elements.length;index++)
- {
- element=this.elements[index];
- if(element[element.length-1]==elementid)
- {
- this.elements[index]=newelement;
- return true;
- }
- }
- }
-
- function showList()
- {
- var script="", dir, x=0;
- var count=this.headline.length;
- var startRow=Math.floor(-this.oListText.y/13)-1;
- var endRow=Math.floor((-this.oListText.y+this.height+13)/13);
- var content='<table id="tbList'+this.no+'" class="clListTable" border="0" cellspacing="0" cellpadding="0">';
- content+='<tr class="clListHeadline"';
- if(this.HeadlineFunction)
- content+=' onContextMenu="'+this.HeadlineFunction+'();return false;"';
- content+='>';
- for(i=0;i<count;i++)
- {
- if(this.visible[i])
- {
- if(i==this.sortrow && this.sortdir=="asc")
- dir="desc";
- else
- dir="asc";
- content+='<td id="tbListHeadline'+this.no+'_'+i+'" style="width:'+this.sizes[i]+';" onClick="oList['+this.no+'].sort('+i+',\''+dir+'\');" nowrap> '+this.headline[i];
- if(i!=0)
- content+='<div id="tbListSep'+this.no+'_'+i+'" style="position:absolute; z-index:61; left:'+x+'; top: 2; width:1; height:10; background-color:#555555; overflow:hidden;"></div>';
- content+='</td>';
- x+=this.sizes[i];
- }
- }
- content+='</tr>';
- var element;
- var elementName;
- for(i=0;i<this.elements.length;i++)
- {
- element=this.elements[i];
- content+='<tr id="e'+this.no+'_'+i+'" class="clListElements"';
- // if(i==this.selectedId)
- // content+=' style="background-color: #4444FF;"';
- content+=' onClick="oList['+this.no+'].select('+i+');"';
- if(this.DblclickFunction)
- content+=' onDblclick="oList['+this.no+'].select('+i+');'+this.DblclickFunction+'('+element[element.length-1]+');return false;"';
- if(this.RclickFunction)
- content+=' onContextMenu="oList['+this.no+'].select('+i+');'+this.RclickFunction+'('+element[element.length-1]+');return false;"';
- content+='>';
- for(j=0;j<count;j++)
- {
- if(this.visible[j])
- content+='<td nowrap>'+element[j];
- }
- widthset=true;
- }
- content+='</table>';
- this.oListText.clipTo(0,x,(this.elements.length+1)*13+2*oList.borderSize,0,1);
- this.setContent(content, "divListText"+this.no);
- this.setSlider();
- }
-
- function resizeList(w,h)
- {
- this.width=w;
- this.height=h;
- var bs=oList.borderSize;
- this.clipTo(0,w,h,0);
- this.oList.clipTo(0,w-15-bs,h-15-bs,0,1);
- this.oUp.moveIt(w-bs-15,1);
- this.oDown.moveIt(w-bs-15,h-bs-30);
- this.oLeft.moveIt(1,h-bs-15);
- this.oRight.moveIt(w-bs-30,h-bs-15);
- this.setSlider();
- }
-
- function setSlider()
- {
- var bs=oList.borderSize;
- var sh=this.height-2*bs-45;
- var size=(this.height-17-bs)/this.oListText.h;
- if(size>1)
- size=1;
- var offset=-(this.oListText.y-1)/this.oListText.h;
- this.oSliderY.moveIt(this.width-bs-14,bs+15+sh*offset);
- this.oSliderY.resize(14,sh*size-2);
- this.oSliderYtop.moveIt(this.width-bs-14,bs+15);
- this.oSliderYtop.resize(14,sh*offset);
- this.oSliderYbut.moveIt(this.width-bs-14,sh*(offset+size)+15);
- this.oSliderYbut.resize(14,sh-sh*(offset+size));
- var sw=this.width-2*bs-45;
- size=(this.width-15-bs)/this.oListText.w;
- //alert("Size:"+size+" Sw:"+sw);
- if(size>1)
- size=1;
- if(this.oListText.w==0)
- offset=0;
- else
- offset=-(this.oListText.x-1)/this.oListText.w;
- this.oSliderX.moveIt(bs+15+sw*offset,this.height-bs-14);
- this.oSliderX.resize(sw*size-2,14);
- this.oSliderXleft.moveIt(bs+15,this.height-bs-14);
- this.oSliderXleft.resize(sw*offset,14);
- this.oSliderXright.moveIt(bs+13+sw*offset+sw*size,this.height-bs-14);
- this.oSliderXright.resize(sw-sw*(offset+size),14);
- }
-
- function processSlider()
- {
- if(this.mousey!=0)
- {
- var y=(bw.ns4 || bw.ns6)?e.pageY:event.y||event.clientY;
- var bs=oList.borderSize;
- var sh=this.height-2*bs-45;
- var size=(this.height-13-bs)/this.oListText.h;
- if(size>1)
- size=1;
- dy=y-this.mousey;
- this.oSliderY.moveBy(0,dy);
- var pos;
- if(sh-(sh*size)!=0)
- pos=(this.oSliderY.y-16)/(sh-(sh*size));
- else
- pos=0;
- if(this.oSliderY.y-15<1)
- this.oSliderY.moveIt(this.width-bs-14,15);
- if(this.oSliderY.y-17>(sh-(sh*size)))
- this.oSliderY.moveIt(this.width-bs-14,sh-(sh*size)+15);
- var posY=-(this.oListText.h-this.oList.h)*pos;
- if(posY>1)
- posY=1;
- else
- this.mousey=y;
- this.oListText.moveIt(this.oListText.x,posY);
- }
- if(this.mousex!=0)
- {
- var x=(bw.ns4 || bw.ns6)?e.pageX:event.x||event.clientX;
- var bs=oList.borderSize;
- var sw=this.width-2*bs-45;
- var size=(this.width-15-bs)/this.oListText.w;
- if(size>1)
- size=1;
- var offset=-(this.oListText.y-1)/this.oListText.h;
- dx=x-this.mousex;
- this.oSliderX.moveBy(dx,0);
- var pos;
- if(sw-(sw*size)!=0)
- pos=(this.oSliderX.x-16)/(sw-(sw*size));
- else
- pos=0;
- if(this.oSliderX.x-17<1)
- this.oSliderX.moveIt(17,this.height-bs-14);
- if(this.oSliderX.x-17>(sw-(sw*size)))
- this.oSliderX.moveIt(sw-(sw*size)+17,this.height-bs-14);
- var posX=-(this.oListText.w-this.oList.w)*pos;
- if(posX>1)
- posX=1;
- else
- this.mousex=x;
- this.oListText.moveIt(posX,this.oListText.y);
- }
- return false;
- }
-
- function startSlider(x,y)
- {
- if(x)
- this.mousex=(bw.ns4 || bw.ns6)?e.pageX:event.x||event.clientX;
- else
- this.mousex=0;
- if(y)
- this.mousey=(bw.ns4 || bw.ns6)?e.pageY:event.y||event.clientY;
- else
- this.mousey=0;
- }
-
- function endSlider()
- {
- this.mousey=0;
- this.mousex=0;
- this.setSlider();
- }
-
- function select(id)
- {
- var obj=document.getElementById("e"+this.no+"_"+id);
- if(this.lastSelect!=-1)
- this.lastSelect.style.backgroundColor=this.lastColor;
- this.lastColor=obj.style.backgroundColor;
- obj.style.backgroundColor="#C2C8DA";
- this.lastSelect=obj;
- this.selectedId=id;
- }
-
- function ldown()
- {
- this.startX=((bw.ns4 || bw.ns6)?e.pageX:event.x||event.clientX)-this.xPos;
- this.resizeRow=this.currentRow;
- }
-
- function lup()
- {
- if(this.resizeRow!=-1)
- {
- endX=((bw.ns4 || bw.ns6)?e.pageX:event.x||event.clientX)-this.xPos;
- this.oResizeLine.hideIt();
- this.sizes[this.resizeRow]-=this.startX-endX;
- if(this.sizes[this.resizeRow]<5)
- this.sizes[this.resizeRow]=5;
- var obj=document.getElementById("tbListHeadline"+this.no+"_"+this.resizeRow);
- obj.style.width=this.sizes[this.resizeRow];
- var x=0;
- for(i=0;i<this.headline.length;i++)
- {
- if(this.visible[i])
- {
- if(i!=0)
- {
- obj=document.getElementById("tbListSep"+this.no+"_"+i);
- obj.style.left=x;
- }
- x+=this.sizes[i];
- }
- }
- if(this.ResizeFunction!="")
- {
- eval(this.ResizeFunction+"("+this.resizeRow+","+this.sizes[this.resizeRow]+")");
- }
- this.resizeRow=-1;
- this.dontsort=true;
- this.oListText.clipTo(0,x,(this.elements.length+1)*13*oList.borderSize,0,1);
- }
- }
-
- function lmove()
- {
- this.mouseX=(bw.ns4 || bw.ns6)?e.pageX:event.x||event.clientX;
- if(this.resizeRow==-1)
- {
- this.currentRow=-1;
- var x=this.xPos+this.oListText.x;
- for(count=0;count<this.sizes.length;count++)
- {
- if(this.visible[count])
- {
- x+=this.sizes[count];
- if(this.mouseX>x-2 && this.mouseX<x+2)
- this.currentRow=count;
- }
- }
- if(this.currentRow!=-1)
- {
- this.oListText.css.cursor="w-resize";
- }
- else
- this.oListText.css.cursor="default";
- }
- else
- {
- this.oResizeLine.moveIt(this.mouseX-this.xPos,16);
- this.oResizeLine.showIt();
- this.oListText.css.cursor="w-resize";
- }
- }
-
- function listtextmove(x,y)
- {
- clearTimeout(this.sctim);
- var lt=this.oListText;
- if(x!=0 || y!=0)
- {
- if(lt.x>=0 && x>0)
- x=0;
- if(lt.w+lt.x+17<=this.width && x<0)
- x=0;
-
- if(lt.y>=0 && y>0)
- y=0;
- if(lt.h+lt.y+17<=this.height && y<0)
- y=0;
- lt.moveBy(x,y);
- if(lt.y>1)
- lt.y=1;
- if(lt.x>1)
- lt.x=1;
- if(lt.x+lt.w+15<this.width && this.width<lt.w)
- lt.x=this.width-lt.w-15;
- if(lt.y+lt.h+15<this.height && this.height<lt.h)
- lt.y=this.height-lt.h-15;
- lt.moveIt(lt.x,lt.y);
- //alert("Lt.x:"+lt.x+" Lt.w:"+lt.w+" This.w:"+this.width);
- this.setSlider();
- this.sctim=setTimeout("oList["+this.no+"].move("+x+","+y+");",50);
- }
- return false;
- }
-